// 入口函数
$(function() {
    // 需求1. 点击a链接,显示隐藏
    $('#loginBox a').on('click', function() {
        // 点击登录框内的a链接,显示注册区域,隐藏登录区域
        $('#regBox').show()
        $('#loginBox').hide()
    });
    $('#regBox a').on('click', function() {
        // 点击注册框内的a链接,显示登录区域,隐藏注册区域
        $('#loginBox').show()
        $('#regBox').hide()
    });


    // 需求2. 定义校验规则
    let form = layui.form;
    // 定义校验规则使用的是form.verify()
    // 参数是对象,属性是校验名称,值是校验规则
    form.verify({
        // 属性是校验名称,值是校验规则
        // 值有2中类型,函数和数字
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须1到10位数字字母'
        ],
        pwd: [
            /^[a-zA-Z0-9]{6,12}$/,
            '密码必须6到12位数字字母'
        ],
        // 确认密码规则
        rePwd: function(value) {
            // value就是给哪个标签添加这个校验规则
            // 这个标签的值就赋值给value
            let pwd = $('#regBox input[name=password]').val();
            // 
            if (pwd !== value) {
                return '两次密码不一致'
            }
        }
    });

    // 需求3.注册功能
    let layer = layui.layer;
    $('#formReg').on('submit', function(e) {
        // 阻止表单默认提交
        e.preventDefault();
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            // 不要传递对象类型,因为对象类型头信息设置的是application/json
            // content-type : application/json 目前接口文档不支持
            data: $(this).serialize()
        }).then(res => {
            // console.log(res.data);
            // 判断返回数据是否正确
            if (res.data.status !== 0) {
                return layer.msg(res.data.message);
            }
            // 成功后,提示
            layer.msg('恭喜您! 注册成功');
            // 切换到登录模块
            $('#regBox a').click();
            // 清空表单  DOM元素中 有一个reset() 可以重置表单
            $('#formReg')[0].reset();
        })
    })

    // 需求4.登录功能
    $('#formLogin').on('submit', function(e) {
        // 阻止表单默认提交
        e.preventDefault();
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/login',
            data: $(this).serialize()
        }).then(res => {
            // console.log(res.data);
            // 判断返回数据是否正确
            if (res.data.status !== 0) {
                return layer.msg(res.data.message);
            }
            // 成功后,提示
            layer.msg('恭喜您! 登录成功');
            localStorage.setItem('token', res.data.token);
            location.href = '/index.html';
        })
    })


});